#include <stdlib.h>
#include <stdio.h>
#include "functions.h"

double mat[6][6] = {{0., 0., 0., 0., 0., 0.},
				{0., 1., 0., 0., 0., 0.},
				{0., 0., 2., 0., 0., 0.},
				{0., 0., 0., 3., 0., 0.},
				{0., 0., 0., 0., 4., 0.},
				{0., 0., 0., 0., 0., 100000.}};
double vect[6] = {1., 1., 1., 1., 1., 1.};

int main( int argc, char ** arcgv){

	int i,	// indice pour les lignes
	    j,	//indice pour les colonnes
	    N = 6,	// taille de la matrice
	    k = 6;	// taille du sous-espace
	double ** A;	// la matrice de départ

	// on alloue l'espace pour la matrice
	A= malloc( N * sizeof ( double *));
		for(i = 0; i < N; ++i){
			A[i] = malloc( N * sizeof(double));
			for(j = 0; j < N; ++j){
				//printf(" \nentrez le nombre A[%d][%d] :",i,j);
				//scanf("%lf",&A[i][j]);
				A[i][j] = mat[i][j];
			}
		}

	double * x; 	// le vecteur machin--truc 
		// on alloue l'espace pour le vecteur 
		x = malloc( N * sizeof ( double));		
			for(i = 0; i < N; ++i){			
				//printf(" \nentrez le nombre x[%d] :",i);
				//scanf("%lf",&x[i]);	
				x[i] = vect[i];		
			}

	lanczos_method ( A, x , N,k);
	return 0;
}
